<?php

class Msalidas extends CI_Model {

    function __construct() {
        //llamando al constructor
        parent::__construct();
    }

    function insertarSalidas($datos) {
        
        $this->db->insert('mprogramacionsalidas', $datos); 
        return $this->db->insert_id();
    }
    function getSalidas() {
        $query = "select a.idmProgramacionSalidas,DATE_FORMAT(a.dhora_salida,'%d/%m/%Y %H:%i:%s' ) as dhora_salida
            ,DATE_FORMAT(a.dhora_llegada,'%d/%m/%Y %H:%i:%s' ) as dhora_llegada, 
            CONCAT(c.vapellidopaterno,' ',c.vapellidomaterno,' ',c.vnombres) as conductor,
            CONCAT(e.vapellidopaterno,' ',e.vapellidomaterno,' ',e.vnombres) as ayudante,
            f.vnumero,h.vplaca,i.vnombre_paradero as inicio,j.vnombre_paradero as final,a.iestado
            from mprogramacionsalidas a
            left join dempleo_persona b on a.iddempleo_persona_chofer=b.iddempleo_persona
            left join mpersonas c on c.idmpersonas=b.idmpersonas
            left join dempleo_persona d on a.iddempleo_persona_cobrador=d.iddempleo_persona
            left join mpersonas e on e.idmpersonas=d.idmpersonas
            inner join mcelulares f on f.idmcelulares=a.idmcelulares
            inner join dtransporte_linea g on g.iddtransporte_linea=a.iddtransporte_linea
            inner join mtransporte h on h.idmTransporte=g.idmTransporte
            inner join dparaderos i on i.iddparaderos=iddparaderos_inicial and i.iestado=1 
            inner join dparaderos j on j.iddparaderos=iddparaderos_final and j.iestado=1
            order by a.idmProgramacionSalidas desc
            ";

        $tabla = $this->db->query($query);
        return $tabla->result_array();
    }
    
    function transporteDisponible($idTransporteLinea){
        $query = "select a.idmProgramacionSalidas,DATE_FORMAT(a.dhora_salida,'%d/%m/%Y %H:%i:%s' ) as dhora_salida
            ,DATE_FORMAT(a.dhora_llegada,'%d/%m/%Y %H:%i:%s' ) as dhora_llegada, 
            CONCAT(c.vapellidopaterno,' ',c.vapellidomaterno,' ',c.vnombres) as conductor,
            CONCAT(e.vapellidopaterno,' ',e.vapellidomaterno,' ',e.vnombres) as ayudante,
            f.vnumero,h.vplaca,i.vnombre_paradero as inicio,j.vnombre_paradero as final,a.iestado
            from mprogramacionsalidas a
            inner join dempleo_persona b on a.iddempleo_persona_chofer=b.iddempleo_persona
            inner join mpersonas c on c.idmpersonas=b.idmpersonas
            inner join dempleo_persona d on a.iddempleo_persona_cobrador=d.iddempleo_persona
            inner join mpersonas e on e.idmpersonas=d.idmpersonas
            inner join mcelulares f on f.idmcelulares=a.idmcelulares
            inner join dtransporte_linea g on g.iddtransporte_linea=a.iddtransporte_linea
            inner join mtransporte h on h.idmTransporte=g.idmTransporte
            inner join dparaderos i on i.iddparaderos=iddparaderos_inicial and i.iestado=1
            inner join dparaderos j on j.iddparaderos=iddparaderos_final and j.iestado=1
            where a.iestado=1 and a.iddtransporte_linea=$idTransporteLinea
            ";
        $tabla = $this->db->query($query);
        if($tabla->num_rows()==0){
            $resultado=array();
        }else{
            $resultado=$tabla->result_array();
        }
        return $resultado;
    }
    
    function getDatosSalida($id){
        $query = "select a.idmProgramacionSalidas,DATE_FORMAT(a.dhora_salida,'%d/%m/%Y %H:%i:%s' ) as dhora_salida
            ,DATE_FORMAT(a.dhora_llegada,'%d/%m/%Y %H:%i:%s' ) as dhora_llegada, 
            CONCAT(c.vapellidopaterno,' ',c.vapellidomaterno,' ',c.vnombres) as conductor,
            CONCAT(e.vapellidopaterno,' ',e.vapellidomaterno,' ',e.vnombres) as ayudante,
            f.vnumero,h.vplaca,i.vnombre_paradero as inicio,j.vnombre_paradero as final,a.iestado
            from mprogramacionsalidas a
            left join dempleo_persona b on a.iddempleo_persona_chofer=b.iddempleo_persona
            left join mpersonas c on c.idmpersonas=b.idmpersonas
            left join dempleo_persona d on a.iddempleo_persona_cobrador=d.iddempleo_persona
            left join mpersonas e on e.idmpersonas=d.idmpersonas
            inner join mcelulares f on f.idmcelulares=a.idmcelulares
            inner join dtransporte_linea g on g.iddtransporte_linea=a.iddtransporte_linea
            inner join mtransporte h on h.idmTransporte=g.idmTransporte
            inner join dparaderos i on i.iddparaderos=iddparaderos_inicial and i.iestado=1
            inner join dparaderos j on j.iddparaderos=iddparaderos_final and j.iestado=1
            where a.idmProgramacionSalidas=$id
            ";
        $tabla = $this->db->query($query);
        
            
        
        return $tabla->result_array();
    }
    
    function cancelarSalida($id){
        
        $query="update mprogramacionsalidas
            set iestado=0
            where idmProgramacionSalidas=$id";
        $this->db->query($query);
        return $this->db->affected_rows();
        
    }
    
    function salidasxcelular($celular){
        $idSalida=0;
        $query="select a.idmProgramacionSalidas, a.iddparaderos_inicial,a.iddparaderos_final,
                a.iddtransporte_linea, DATE_FORMAT(a.dhora_salida,'%d/%m/%y/%k/%i/%s') as horaSalida,a.idmruta  from mprogramacionsalidas a
                inner join mcelulares b on a.idmcelulares=b.idmcelulares
                where a.iestado=1 and b.vnumero='$celular'";
        
        $tabla = $this->db->query($query);
        if($tabla->num_rows()==0){
            $resultado=array();
        }else{
            $resultado=$tabla->result_array();
        }
        return $resultado;
    }
    function getSalidaId($id){
        $query = "select a.idmProgramacionSalidas,a.idmruta from mprogramacionsalidas a
            where a.idmProgramacionSalidas=$id
            ";
        $tabla = $this->db->query($query);

        return $tabla->result_array();
    }
    
    function salidasAnteriores($idProgramacionSalida){
        $query="select a.idmProgramacionSalidas,a.ndistanciaUltimoParadero from mmarcacion_control a
inner join mprogramacionsalidas b on a.idmProgramacionSalidas=b.idmProgramacionSalidas
and b.iestado=1 and b.idmruta=(select c.idmruta from mprogramacionsalidas c where c.idmProgramacionSalidas='$idProgramacionSalida')

where a.ndistanciaUltimoParadero>(select d.ndistanciaUltimoParadero from mmarcacion_control d
                                    where d.idmProgramacionSalidas='$idProgramacionSalida' and d.iestado=1 )   
and a.iestado=1 order by a.ndistanciaUltimoParadero asc";
        
        $tabla = $this->db->query($query);
        if($tabla->num_rows()==0){
            $resultado=array();
        }else{
            $resultado=$tabla->result_array();
        }
        return $resultado;
    }
 }

?>
